The present invention relates to a method and an apparatus for detecting and diagnosing functional hardware errors in certain logic signals produced in digital data processing devices. This self-test monitor and diagnostic apparatus has been developed to detect and isolate hardware failures occurring in the "hard core" logic areas of the digital data processing device so that diagnostic routines may be run with a confidence level sufficient to insure that hardware errors can be program detected and indicated to an operator.
Computer maintainability, error detection and fault isolation have become major goals of the system designer of digital data processing devices. In a digital data processing device which is microprogrammed, one tool available to the designer is a set of microdiagnostic programs. Because microprogramming constitutes programming that can control the logic of the computing machine, it is possible to use such microdiagnostic programs to detect and isolate failures to a small number of hardware modules. However, a failure in a "hard core" area of logic, i.e., an area of the logic which if faulty makes impossible the running of even a microdiagnostic program; the maintenance technician must resort to traditional "brute force" methods to locate the cause of the failure. Unfortunately, many single failures in a digital data processing device may cause the inability to run even a simple diagnostic program. Additionally, if simple programs cannot be run there exists no practical way of indicating a failure to the operator. It therefore becomes necessary to devise a method to detect and isolate failures occurring in this "hard core" area so that diagnostic routines may be run with enough confidence that the device is sufficiently operable so that program detection can be utilized and to indicate fault location to an operator.